package com.longdaji.decoration.di.module;


import com.longdaji.decoration.di.scope.ActivityScoped;
import com.longdaji.decoration.ui.activitiesOfCommunity.hotVideo.HotVideoActivity;
import com.longdaji.decoration.ui.activitiesOfCommunity.news.NewsActivity;
import com.longdaji.decoration.ui.activitiesOfCommunity.publishComment.CommentActivity;
import com.longdaji.decoration.ui.activitiesOfCommunity.publishDynamic.PublishDynamicActivity;
import com.longdaji.decoration.ui.activitiesOfCommunity.publishDynamic.addLabel.AddLabelActivity;
import com.longdaji.decoration.ui.activitiesOfCommunity.publishDynamic.addTopic.AddTopicActivity;
import com.longdaji.decoration.ui.activitiesOfCommunity.publishVideo.PublishVideoActivity;
import com.longdaji.decoration.ui.activitiesOfMine.accountManagement.AccountManagementActivity;
import com.longdaji.decoration.ui.activitiesOfMine.accountManagement.changePassword.ChangePasswordActivity;
import com.longdaji.decoration.ui.activitiesOfMine.accountManagement.changePhone.ChangePhoneActivity;
import com.longdaji.decoration.ui.activitiesOfMine.accountManagement.changePhone.ChangePhoneBeforeActivity;
import com.longdaji.decoration.ui.activitiesOfMine.allOrder.AllOrderActivity;
import com.longdaji.decoration.ui.activitiesOfMine.balance.BalanceActivity;
import com.longdaji.decoration.ui.activitiesOfMine.collection.CollectionActivity;
import com.longdaji.decoration.ui.activitiesOfMine.feedback.FeedbackActivity;
import com.longdaji.decoration.ui.activitiesOfMine.footprint.FootprintActivity;
import com.longdaji.decoration.ui.activitiesOfMine.housemaster.HousemasterActivity;
import com.longdaji.decoration.ui.activitiesOfMine.housemaster.dataManagement.DataManagementActivity;
import com.longdaji.decoration.ui.activitiesOfMine.housemaster.receiveIntegral.ReceiveIntegralActivity;
import com.longdaji.decoration.ui.activitiesOfMine.housemaster.wallet.WalletActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingDelivery.PendingDeliveryActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingEvaluated.EvaluateActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingEvaluated.OrderDetailActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingEvaluated.PendingEvaluatedActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingPayment.PendingPaymentActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingPayment.payment.PaymentActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingReceiving.PendingReceivingActivity;
import com.longdaji.decoration.ui.activitiesOfMine.pendingReceiving.SeeLogisticsActivity;
import com.longdaji.decoration.ui.activitiesOfMine.personData.PersonalDataActivity;
import com.longdaji.decoration.ui.activitiesOfMine.personData.changeLabel.ChangeLabelActivity;
import com.longdaji.decoration.ui.activitiesOfMine.personData.changeName.ChangeNameActivity;
import com.longdaji.decoration.ui.activitiesOfMine.personData.changeSignature.ChangeSignatureActivity;
import com.longdaji.decoration.ui.activitiesOfMine.personData.changeUsername.ChangeUsernameActivity;
import com.longdaji.decoration.ui.activitiesOfMine.receivingAddress.ReceivingAddressActivity;
import com.longdaji.decoration.ui.activitiesOfMine.refund.RefundActivity;
import com.longdaji.decoration.ui.activitiesOfMine.refund.forRefund.ForRefundActivity;
import com.longdaji.decoration.ui.activitiesOfMine.refund.refundDetail.RefundDetailActivity;
import com.longdaji.decoration.ui.activitiesOfMine.setting.SettingActivity;
import com.longdaji.decoration.ui.assistant.AssistantActivity;
import com.longdaji.decoration.ui.bannerImage.BannerImageActivity;
import com.longdaji.decoration.ui.buildinfo.BuildInfoActivity;
import com.longdaji.decoration.ui.captainApply.CaptainApplyActivity;
import com.longdaji.decoration.ui.comment.CriticismActivity;
import com.longdaji.decoration.ui.creditassess.CreditAssessActivity;
import com.longdaji.decoration.ui.detail.GoodsDetailActivity;
import com.longdaji.decoration.ui.goodscategory.GoodsCategoryActivity;
import com.longdaji.decoration.ui.goodslist.GoodsListActivity;
import com.longdaji.decoration.ui.guide.GuideActivity;
import com.longdaji.decoration.ui.location.LocationActivity;
import com.longdaji.decoration.ui.login.LoginActivity;
import com.longdaji.decoration.ui.login.codeLogin.CodeLoginActivity;
import com.longdaji.decoration.ui.login.forgetPassword.ForgetPasswordActivity;
import com.longdaji.decoration.ui.login.passwordLogin.PasswordLoginActivity;
import com.longdaji.decoration.ui.logistics.LogisticsActivity;
import com.longdaji.decoration.ui.lottery.ScoreLotteryActivity;
import com.longdaji.decoration.ui.main.MainActivity;
import com.longdaji.decoration.ui.news.InfoActivity;
import com.longdaji.decoration.ui.operatorauthorize.OperatorAuthorizeActivity;
import com.longdaji.decoration.ui.pay.PayActivity;
import com.longdaji.decoration.ui.payFinish.PayFinishActivity;
import com.longdaji.decoration.ui.payOrder.PayOrderActivity;
import com.longdaji.decoration.ui.process.ApplyProcessActivity;
import com.longdaji.decoration.ui.register.RegisterActivity;
import com.longdaji.decoration.ui.register.graduation.GraduationActivity;
import com.longdaji.decoration.ui.shippingaddr.ShippingAddrActivity;
import com.longdaji.decoration.ui.signin.SignInActivity;
import com.longdaji.decoration.ui.splash.SplashActivity;
import com.longdaji.decoration.ui.taobaoauthorize.TaoBaoAuthorizeActivity;
import com.longdaji.decoration.ui.wear.WearActivity;
import com.longdaji.decoration.ui.webview.WebViewActivity;

import dagger.Module;
import dagger.android.ContributesAndroidInjector;

/**
 * Created by longtao on 2017/12/26.
 */
@Module
public abstract class ActivityBindingModule {
    @ActivityScoped
    @ContributesAndroidInjector(modules = GuideModule.class)
    abstract GuideActivity guideActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = LoginModule.class)
    abstract LoginActivity loginActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = MainModule.class)
    abstract MainActivity mainActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract LocationActivity locationActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract InfoActivity Activity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract AssistantActivity assistantActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract ApplyProcessActivity applyProcessActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract BuildInfoActivity buildInfoActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract TaoBaoAuthorizeActivity taobaoAuthorizeActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract OperatorAuthorizeActivity operatorAuthorizeActivity();


    @ActivityScoped
    @ContributesAndroidInjector(modules = CreditAssessModule.class)
    abstract CreditAssessActivity creditAssessActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract LogisticsActivity logisticsActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = SignInModule.class)
    abstract SignInActivity signInActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract ScoreLotteryActivity scoreLotteryActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = GoodsListModule.class)
    abstract GoodsListActivity goodsListActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = GoodsCategoryModule.class)
    abstract GoodsCategoryActivity goodsCategoryActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = WearModule.class)
    abstract WearActivity wearActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PayModule.class)
    abstract PayActivity payActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = GoodsDetailModule.class)
    abstract GoodsDetailActivity goodsDetailActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = CriticismModule.class)
    abstract CriticismActivity criticismActivity();

    //community
    @ActivityScoped
    @ContributesAndroidInjector(modules = PublishDynamicModule.class)
    abstract PublishDynamicActivity publishDynamicActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = HotVideoModule.class)
    abstract HotVideoActivity hotVideoActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PublishVideoModule.class)
    abstract PublishVideoActivity publishVideoActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = SettingModule.class)
    abstract SettingActivity settingActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = NewsModule.class)
    abstract NewsActivity newsActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = AddLabelModule.class)
    abstract AddLabelActivity addLabelActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = AddTopicModule.class)
    abstract AddTopicActivity addTopicActivity();

    //mine
    @ActivityScoped
    @ContributesAndroidInjector(modules = PendingDeliveryModule.class)
    abstract PendingDeliveryActivity pendingDeliveryActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PendingEvaluatedModule.class)
    abstract PendingEvaluatedActivity pendingEvaluatedActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PendingPaymentModule.class)
    abstract PendingPaymentActivity pendingPaymentActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PendingReceivingModule.class)
    abstract PendingReceivingActivity pendingReceivingActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = RefundModule.class)
    abstract RefundActivity refundActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = CollectionModule.class)
    abstract CollectionActivity collectionActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = BalanceModule.class)
    abstract BalanceActivity balanceActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = FootprintModule.class)
    abstract FootprintActivity footprintActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = HousemasterModule.class)
    abstract HousemasterActivity housemasterActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = FeedbackModule.class)
    abstract FeedbackActivity feedbackActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = WalletModule.class)
    abstract WalletActivity walletActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = DataManagementModule.class)
    abstract DataManagementActivity dataManagementActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ReceiveIntegralModule.class)
    abstract ReceiveIntegralActivity receiveIntegralActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = EvaluateModule.class)
    abstract EvaluateActivity evaluateActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = OrderDetailModule.class)
    abstract OrderDetailActivity orderDetailActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ForRefundModule.class)
    abstract ForRefundActivity forRefundActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = RefundDetailModule.class)
    abstract RefundDetailActivity refundDetailActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = SeeLogisticsModule.class)
    abstract SeeLogisticsActivity seeLogisticsActivity();

    //setting
    @ActivityScoped
    @ContributesAndroidInjector(modules = PersonalDataModule.class)
    abstract PersonalDataActivity personalDataActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangeUsernameModule.class)
    abstract ChangeUsernameActivity changeUsernameActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangeNameModule.class)
    abstract ChangeNameActivity changeNameActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangeLabelModule.class)
    abstract ChangeLabelActivity changeLabelActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangeSignatureModule.class)
    abstract ChangeSignatureActivity changeSignatureActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = AccountManagementModule.class)
    abstract AccountManagementActivity accountManagementActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangePhoneModule.class)
    abstract ChangePhoneActivity changePhoneActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangePhoneBeforeModule.class)
    abstract ChangePhoneBeforeActivity changePhoneBeforeActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ChangePasswordModule.class)
    abstract ChangePasswordActivity changePasswordActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ReceivingAddressModule.class)
    abstract ReceivingAddressActivity receivingAddressActivity();

    //commodity
    @ActivityScoped
    @ContributesAndroidInjector(modules = PaymentModule.class)
    abstract PaymentActivity paymentActivity();

    //login
    @ActivityScoped
    @ContributesAndroidInjector(modules = PasswordLoginModule.class)
    abstract PasswordLoginActivity passwordLoginActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = CodeLoginModule.class)
    abstract CodeLoginActivity codeLoginActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ForgetPasswordModule.class)
    abstract ForgetPasswordActivity forgetPasswordActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = RegisterModule.class)
    abstract RegisterActivity registerActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = GraduationModule.class)
    abstract GraduationActivity graduationActivity();

    // TODO: 2018/4/19 0019 module未写
    @ActivityScoped
    @ContributesAndroidInjector
    abstract CommentActivity commentActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = AllOrderModule.class)
    abstract AllOrderActivity allOrderActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = CaptainApplyModule.class)
    abstract CaptainApplyActivity captainApplyActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract BannerImageActivity bannerImageActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = WebViewModule.class)
    abstract WebViewActivity webViewActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ShippingAddrModule.class)
    abstract ShippingAddrActivity shippingAddrActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PayOrderModule.class)
    abstract PayOrderActivity payOrderActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract PayFinishActivity payFinishActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = SplashModule.class)
    abstract SplashActivity splashActivity();

}
